home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / COMM / ANSI_133 / DEMO.PAS < prev    next >
Pascal/Delphi Source File  |  1990-06-14  |  2KB  |  63 lines

  1. Program Demo;
  2.  
  3. Uses TpCrt, PingAnsi, Musica;
  4.  
  5. Var
  6.   f             : File;
  7.   buffer, b     : Array[0..$3fff] Of Char;
  8.   i, j          : Word;
  9.   Ch            : Char;
  10.   Timer         : LongInt Absolute 0 : $46c;
  11.   t1, t2, t3, t4 : LongInt;
  12.   aa, bb, cc, c1, dd, ee, ff : String[80];
  13.  
  14.  
  15. Begin
  16.    aa := 'o3D..o2GABo3CD..o2Gp8Gp8';
  17.    bb := 'o3E..CDEF#G..o2Gp8Gp8';
  18.    cc := 'o3C..DCo2BAB..o3Co2BAGF#..GABGBA...p4';
  19.    c1 := 'o3C..DCo2BAB..o3Co2BAGF#..GABGA....p4';
  20.    dd := 'o3C..DCo2BAB..o3Co2BAGA..BAGF#G....p4';
  21.    ee := 'mlo3B..GABGA..DEF#DG..EF#GDC#..o2Bo3C#o2Ap8ABo3C#DEF#G..' +
  22.          'F#..E..F#..o2A..o3C#..D....p4mn';
  23.    ff := 'D..o2GF#Gp8o3E..o2GF#Gp8o3D..C..o2B..AGF#GAp8DEF#GABo3C..' +
  24.          'o2B..A..Bo3Do2G..F#..G....p4';
  25.   Assign(f, 'shuttle2.ans');
  26.   SetTextBuf(Ansi, b);
  27.   Reset(f, 1);
  28.   BlockRead(f, buffer, SizeOf(buffer), j);
  29.   Close(f);
  30.   TextAttr := 7;
  31.   ClrScr;
  32.   If GrabTimer then {};
  33.   Write(Ansi, #27'[1;33mThis '#27'[32mis '#27, '[ma '#27'[42mTest ');
  34.   WriteLn(Ansi,#27'[0m');
  35.   PLAY ('mbmnt150l8');
  36.   PLAY (aa);  PLAY (bb);
  37.   t1 := Timer;
  38.   For i := 0 To j - 1 Do Write(Ansi, buffer[i]);
  39.   t2 := Timer;
  40.   PLAY (C1); PLAY (aa);
  41.   t3 := Timer;
  42.   For i := 0 To j - 1 Do AnsiWrite(buffer[i]);
  43.   t4 := Timer;
  44.   Write(Ansi,#27,'[0;1mWaiting for background buffer to empty');
  45.   While not PlayBufferEmpty do {};
  46.   ReleaseTimer;
  47.   PurgePlayBuffer;
  48.   Write(Ansi, #27'[0m'#27'[2J');
  49.   Writeln(Ansi,#27'[1mJ.S.Bach'#27'[30;5m from '#27'[0;1;31m''Little notebook for Anna Magdalena''');
  50.   PLAY ('mf'+bb);
  51.   WriteLn(Ansi, #27'[0mTime for Write(Ansi,Ch): ', t2 - t1:8, ' tics ');
  52.   PLAY (DD);
  53.   WriteLn(Ansi, 'Time for AnsiWrite(CH):  ', t4 - t3:8, ' tics');
  54.   PLAY (aa);PLAY (bb);PLAY (CC);
  55.   PLAY (aa);PLAY (bb);PLAY (dd);
  56.   PLAY (EE);PLAY (FF);
  57.   PLAY (aa);PLAY (bb);PLAY (C1);
  58.   PLAY (aa);PLAY (bb);
  59.   PLAY (copy(DD, 1, length(dd)-2) + '. ');
  60.   WriteLn(Ansi);
  61.   NoSound;
  62. End.
  63.